package org.mantenimientojsf.controller;

import org.mantenimientojsf.beans.Gruposusuariosmodulos;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
import java.util.*;
import java.util.HashMap;
import java.util.Map;
import org.mantenimientojsf.persistencia.GruposusuariosmodulosPersistencia;
import javax.faces.context.FacesContext;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.el.ELContext;
import javax.faces.model.SelectItem;
import org.primefaces.event.SelectEvent;
import org.mantenimientojsf.generales.JSFUtil;


/**
*
*  @author
*/

@ManagedBean
@SessionScoped
public class GruposusuariosmodulosController implements Serializable {
private static final long serialVersionUID = 1L;
private boolean withRelation= true;
public static Exception excepcion;


private Gruposusuariosmodulos gruposusuariosmodulos;

private List<Gruposusuariosmodulos> gruposusuariosmoduloslist;

private Gruposusuariosmodulos selectedgruposusuariosmodulos;

SelectItem[] gruposusuariosmodulosItems;


public boolean isWithRelation() {
    return withRelation;
}
public  void setWithRelation(boolean withRelation) {
    this.withRelation = withRelation;
}
public GruposusuariosmodulosController(){
     ELContext elContext = FacesContext.getCurrentInstance().getELContext();
   gruposusuariosmodulos =(Gruposusuariosmodulos) FacesContext.getCurrentInstance().getApplication().getELResolver().getValue(elContext, null,"gruposusuariosmodulos");
   gruposusuariosmoduloslist = new ArrayList<Gruposusuariosmodulos>();
}

public Gruposusuariosmodulos getGruposusuariosmodulos() {
 return gruposusuariosmodulos;
}

 public void setGruposusuariosmodulos(Gruposusuariosmodulos gruposusuariosmodulos) {
 this.gruposusuariosmodulos = gruposusuariosmodulos;
}

public Gruposusuariosmodulos getSelectedGruposusuariosmodulos() {
 return selectedgruposusuariosmodulos;
}

 public void setSelectedGruposusuariosmodulos(Gruposusuariosmodulos selectedgruposusuariosmodulos) {
 this.selectedgruposusuariosmodulos = selectedgruposusuariosmodulos;
}


public SelectItem[]  getGruposusuariosmodulosItems() {
return gruposusuariosmodulosItems;
}

public void setGruposusuariosmodulosItem(SelectItem[] gruposusuariosmodulosItems) {
this.gruposusuariosmodulosItems = gruposusuariosmodulosItems;
}

public List<Gruposusuariosmodulos> getGruposusuariosmoduloslist() {
return gruposusuariosmoduloslist;
}

 public void setGruposusuariosmoduloslist(List<Gruposusuariosmodulos> gruposusuariosmoduloslist) {
this.gruposusuariosmoduloslist = gruposusuariosmoduloslist;
}
/*
*  getMensaje()
*   devuelve el mensaje encontrado...
*/
public String getMensaje() {
   String lexcepcion = excepcion.toString();
   if (lexcepcion.indexOf(":") != -1) {
       lexcepcion = lexcepcion.substring(lexcepcion.indexOf(":") + 1);
   }
  return lexcepcion;
}


/**
*
* insert()
*/

public void insert() {
try{
 if (validate(gruposusuariosmodulos)) {
     if (!GruposusuariosmodulosPersistencia.insert(gruposusuariosmodulos)) {
        JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
     } else {
         JSFUtil.addSuccessMessage(ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("msg.guarded"));
       }
     }
  }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
}


/**
*
* update()
*/

public void update () {
try{
 if (GruposusuariosmodulosPersistencia.exists(gruposusuariosmodulos)) {
   if (validate(gruposusuariosmodulos)) {
     if (!GruposusuariosmodulosPersistencia.update(gruposusuariosmodulos)) {
        JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
     } else {
         JSFUtil.addSuccessMessage(ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("msg.edited"));
     }
   }
 }
 else{
    JSFUtil.addSuccessMessage(ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("msg.noupdatefound"));
   }
  }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
}


/**
*
* update(String sqlupdate)
*/

public boolean update(String sqlupdate) {
try{
     if (!GruposusuariosmodulosPersistencia.update(sqlupdate)) {
          if(!GruposusuariosmodulosPersistencia.esMensaje){
        JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
          }
           else{
                excepcion = GruposusuariosmodulosPersistencia.excepcion;
           }
     }
     else{
            return true;
     }
  }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  return false;
}


/**
*
* updatePrimaryKey()
*/

public void updatePrimaryKey (Gruposusuariosmodulos gruposusuariosmodulos_old , Gruposusuariosmodulos gruposusuariosmodulos) {
try{
 if (GruposusuariosmodulosPersistencia.exists(gruposusuariosmodulos_old)) {
   if (validate(gruposusuariosmodulos_old)) {
     if (!GruposusuariosmodulosPersistencia.updatePrimaryKey(gruposusuariosmodulos_old,gruposusuariosmodulos)) {
        JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
     } else {
    JSFUtil.addSuccessMessage(ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("msg.edited"));
     }
   }
 }
 else{
    JSFUtil.addSuccessMessage(ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("msg.noupdatefound"));
   }
  }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
}


/**
*
* delete()
*/

public void delete() {
try{
     if (!GruposusuariosmodulosPersistencia.delete(gruposusuariosmodulos)) {
        JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
     } else {
    JSFUtil.addSuccessMessage(ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("msg.removed"));
        }
  }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
}


/**
*
* delete(String sqldelete)
*/

public void delete(String sqldelete) {
try{
     if (!GruposusuariosmodulosPersistencia.delete(sqldelete)) {
        JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
     } else {
    JSFUtil.addSuccessMessage(ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("msg.removed"));
        }
  }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
}


/**
*
* deleteAll()
*/

public void deleteAll() {
try{
     if (!GruposusuariosmodulosPersistencia.deleteAll()) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
 return;
  }
    JSFUtil.addSuccessMessage(ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("msg.removed"));
  }catch(Exception ex){
    JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
}


/**
*
* exists()
*/



public boolean exists(Gruposusuariosmodulos gruposusuariosmodulos) {
try{
   return GruposusuariosmodulosPersistencia.exists(gruposusuariosmodulos);
  }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
 return false;
}


/**
*
* findPrimaryKey()
*/



public Gruposusuariosmodulos findByPrimaryKey(Gruposusuariosmodulos gruposusuariosmodulos) {
try{
    this.selectedgruposusuariosmodulos = GruposusuariosmodulosPersistencia.findByPrimaryKey(gruposusuariosmodulos);
    return selectedgruposusuariosmodulos;
  }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
 return null;
}


/**
*
* findByIdgrupousuariomodulo()
*/

public void findByIdgrupousuariomodulo(Gruposusuariosmodulos gruposusuariosmodulos) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.findByIdgrupousuariomodulo(gruposusuariosmodulos,withRelation) ;
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  }


/**
*
* findByIdgruposuario()
*/

public void findByIdgruposuario(Gruposusuariosmodulos gruposusuariosmodulos) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.findByIdgruposuario(gruposusuariosmodulos,withRelation) ;
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  }


/**
*
* findByIdmodulo()
*/

public void findByIdmodulo(Gruposusuariosmodulos gruposusuariosmodulos) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.findByIdmodulo(gruposusuariosmodulos,withRelation) ;
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  }


/**
*
* findByConsultar()
*/

public void findByConsultar(Gruposusuariosmodulos gruposusuariosmodulos) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.findByConsultar(gruposusuariosmodulos,withRelation) ;
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  }


/**
*
* findByInsertar()
*/

public void findByInsertar(Gruposusuariosmodulos gruposusuariosmodulos) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.findByInsertar(gruposusuariosmodulos,withRelation) ;
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  }


/**
*
* findByEditar()
*/

public void findByEditar(Gruposusuariosmodulos gruposusuariosmodulos) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.findByEditar(gruposusuariosmodulos,withRelation) ;
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  }


/**
*
* findByEliminar()
*/

public void findByEliminar(Gruposusuariosmodulos gruposusuariosmodulos) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.findByEliminar(gruposusuariosmodulos,withRelation) ;
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  }


/**
*
* findByReportes()
*/

public void findByReportes(Gruposusuariosmodulos gruposusuariosmodulos) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.findByReportes(gruposusuariosmodulos,withRelation) ;
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  }


/**
*
* findByIdestatus()
*/

public void findByIdestatus(Gruposusuariosmodulos gruposusuariosmodulos) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.findByIdestatus(gruposusuariosmodulos,withRelation) ;
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  }


/**
*
* locateByParameters()
*/

public boolean locateByParameters(Map parametros) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.locateByParameters(parametros,withRelation);
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
       else{
            return true;
            }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  return false;
}


/**
*
* Func(String funcion, String campo)
*/

public Double func(String funcion, String campo) {
  try{
     return GruposusuariosmodulosPersistencia.func(funcion,campo);
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  return 0.0;
}


/**
*
* Double func(String funcion, String campo, String where)
*/

public Double func(String funcion, String campo,String where) {
  try{
     return GruposusuariosmodulosPersistencia.func(funcion,campo,where);
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  return 0.0;
}


/**
*
* count()
*/

public Integer count() {
  try{
     int x =GruposusuariosmodulosPersistencia.count();
    return x;
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
 return 0;
}


/**
*
* count(String sql)
*/

public Integer count(String sqlquery) {
  try{
     int x =GruposusuariosmodulosPersistencia.count(sqlquery);
    return x;
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
 return 0;
}


/**
*
* query()
*/

public boolean query(String query) {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.query(query,withRelation);
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
       else{
            return true;
            }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
  return false;
}


/**
*
* selectAll()
*/



public void selectAll() {
  try{
     if(gruposusuariosmoduloslist != null){
        gruposusuariosmoduloslist.removeAll(gruposusuariosmoduloslist);
     }
     Map<String, String> parametros = new HashMap<String, String>();
     gruposusuariosmoduloslist = GruposusuariosmodulosPersistencia.getListRecords(parametros,withRelation);
     if (gruposusuariosmoduloslist== null) {
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
       }
    }catch(Exception ex){
       JSFUtil.addErrorMessage(GruposusuariosmodulosPersistencia.excepcion.toString());
  }
}


public boolean validate(Gruposusuariosmodulos gruposusuariosmodulos) {
 try{

if (gruposusuariosmodulos.getIdgrupousuariomodulo() == null || gruposusuariosmodulos.getIdgrupousuariomodulo().equals("")){
    JSFUtil.addErrorMessage(ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("idgrupousuariomodulo")  + "  " + ResourceBundle.getBundle("org/mantenimientojsf/properties/mensajes").getString("msg.nonulo"));
  return false;
}
  return true;
 }catch(Exception ex){
   JSFUtil.addErrorMessage(ex.toString());
  return false;

  }
}


public void handleSelect(SelectEvent event) {
  if (event.getObject() instanceof Gruposusuariosmodulos) {
 Gruposusuariosmodulos gruposusuariosmodulos_ = (Gruposusuariosmodulos) event.getObject();
gruposusuariosmodulos.setIdgrupousuariomodulo(gruposusuariosmodulos_.getIdgrupousuariomodulo());
gruposusuariosmodulos.setIdgruposuario(gruposusuariosmodulos_.getIdgruposuario());
gruposusuariosmodulos.setIdmodulo(gruposusuariosmodulos_.getIdmodulo());
gruposusuariosmodulos.setConsultar(gruposusuariosmodulos_.getConsultar());
gruposusuariosmodulos.setInsertar(gruposusuariosmodulos_.getInsertar());
gruposusuariosmodulos.setEditar(gruposusuariosmodulos_.getEditar());
gruposusuariosmodulos.setEliminar(gruposusuariosmodulos_.getEliminar());
gruposusuariosmodulos.setReportes(gruposusuariosmodulos_.getReportes());
gruposusuariosmodulos.setIdestatus(gruposusuariosmodulos_.getIdestatus());

  }
}


}
